package com.atguigu.jinx.enums.alipay;


/**
 * 支付宝/交易系统错误码枚举
 */
public enum TradeErrorCode {

    TRADE_NOT_EXIST("ACQ.TRADE_NOT_EXIST", "交易不存在"),
    SYSTEM_ERROR("ACQ.SYSTEM_ERROR", "系统错误"),
    INVALID_PARAMETER("ACQ.INVALID_PARAMETER", "参数无效");

    private final String code;
    private final String message;

    TradeErrorCode(String code, String message) {
        this.code = code;
        this.message = message;
    }

    public String getCode() {
        return code;
    }

    public String getMessage() {
        return message;
    }

    /**
     * 根据错误码获取枚举，如果不存在则返回 null
     */
    public static TradeErrorCode fromCode(String code) {
        for (TradeErrorCode errorCode : values()) {
            if (errorCode.code.equals(code)) {
                return errorCode;
            }
        }
        return null;
    }
}
